package com.library.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * @author mx
 * @Date 2023年4月24日
 * 用于获取数据库连接  和  关闭资源的工具类
 */
public class BaseDao {
	
	private static final String URL = "jdbc:mysql://127.0.0.1:3306/cuti"; //数据库url
	
	private static final String USERNAME = "root";//数据库用户名
	
	private static final String PASSWORD = "root";//数据库密码
	
	//静态代码块 内的内容只会在 BaseDao第一次运行时，执行一次（避免反复加载驱动）
	static{
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			System.out.println("请检查数据库的jar包");
			e.printStackTrace();
		}
	}
	
	/**
	 * @return
	 *  获取一个 数据库连接 （ctrl+shift+o导入其他类）
	 */
	public static Connection getCon() {
		Connection con = null; 
		try {
			con = DriverManager.getConnection(URL, USERNAME, PASSWORD);
		} catch (SQLException e) {
			System.out.println("获取数据库连接失败");
			e.printStackTrace();
		}
		return con;
	}
	
	/**
	 * @param res
	 * @param stmt
	 * @param con
	 * 	关闭数据库资源（传进来什么关什么）
	 */
	public static void  closeAll(ResultSet res,Statement stmt,Connection con) {
		if(res != null) { 
			try {
				res.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		if(stmt != null) { 
			try {
				stmt.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		if(con != null) {
			try {
				con.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
	

}
